package com.demo.cms.dao;

import java.util.List;
import java.util.Map;

import com.demo.cms.model.Article;
import com.demo.core.dao.base.BaseCoreDao;
import com.demo.core.dao.base.support.SearchDaoSupport;

/**
 * 文章数据模型访问接口
 * 继承带有分页的接口
 * 
 * @author ryuu.kk
 *
 */
public interface ArticleDao extends BaseCoreDao<Article, Long>, SearchDaoSupport<Article> {

	/**
	 * 更新文章扩展模型状态信息
	 * @param articleExtend 文章扩展模型对象
	 * @param params 检索条件信息
	 * @return 成功操作数 
	 */
	int updateEnabled(Article article, Map<String, Object> params);
	
	/**
	 * 更新文章文件夹ID
	 * @param folderId 文件夹ID
	 * @param params 参数Map
	 * @return 更新条数
	 */
	int updateFolderId(Long folderId, Map<String, Object> params);
	
	/**
	 * 查询文章列表
	 * 其中包含文章的内容和文章扩展属性模型
	 * 
	 * @param params 参数Map
	 * @return 文章列表
	 */
	List<Article> queryArticle(Map<String, Object> params);
	
	/**
	 * 查找文件模型
	 * 该对象只查找文章的ID,标题,短标题和缩略图信息.
	 * 
	 * @param params 参数Map(全表)
	 * @return 参数Map
	 */
	List<Article> simpleFindList(Map<String, Object> params);
	
	/**
	 * 查找文件模型
	 * 该对象只查找文章的ID,标题,短标题和缩略图信息.
	 * @param id 文章ID
	 * @return Article 文章模型
	 */
	Article simpleFind(Long id);
}
